<?php
/**
 * Joomla! 1.5 component sialpacadb
 *
 * @version $Id: install.sialpacadb.php 2010-11-15 11:24:35 svn $
 * @author ErreCi
 * @package Joomla
 * @subpackage sialpacadb
 * @license Copyright (c) 2010 - All Rights Reserved
 *
 * Gestione archivio per allevamenti di Alpaca
 *
 */

defined( '_JEXEC' ) or die( 'Restricted access' );

// com_install e' la funzione che viene chiamata automaticamente dal framework quando installi un comp
function com_install(){
 	@ini_set('max_execution_time',0);
	@ini_set('memory_limit','128M');
	$msgs = array();
	// Crea una directory per eventuali immagini
	$imagedb = JPATH_SITE.DS.'images'.DS.'sialpaca'.DS;
	if (!file_exists($imagedb)) {
		$msgs[] = (mkdir($imagedb, 0775)) ? "directory ".$imagedb." creata" : "creazione image directory fallita. Controlla che /images è scrivibile!";
	}
	// aggiorna o crea il db
	
	if ($version=get_installed_version()) {
		$msgs[] = (insert_sql_file("update-".$version.".sql")) ? "Sialpacadb è stato aggiornato dalla versione ".$version : "<b>Errore</b> aggiornado Sialpacadb dalla versione ".$version;
	} else {
		$msgs[] = (insert_sql_file("com_sialpacadb.sql")) ? "Sialpacadb è stato installato": "<b>Errore</b> installando Sialpacadb completo";
		// installazione completa
	}

?>
	<hr/>
	<h2>SIALPACA-DB</h2>
	<h4>Sialpacadb &egrave; stato fatto da</h4>
	<h3>www&sdot;rclnx&sdot;net</h3>
	<ul>
		<li>Autore: Roberto 'ErreCi' Colombo (<a href="mailto:rclnx.net@gmail.com">rclnx.net@gmail.com</a>)</li>
	</ul>
	<b>Messaggi post installazione:</b>
	<ul>
	<?php foreach ($msgs as $msg) echo "<li>".$msg."</li>"; ?>
	</ul>
<?php

}
/**
 * Controlla se il db è già stato installato
 * Returna versione. false se nn esiste.
 */
function get_installed_version() {
	$db =& JFactory::getDBO();
  	$db->setQuery("SELECT id FROM `#__sialpaca` LIMIT 0 , 1");
  	if ($test=$db->loadResult()) {
		$db->setQuery("SELECT value FROM `#__sialpaca_settings` WHERE  `name` = 'version' LIMIT 0 , 1");
		return ($version=$db->loadResult()) ? $version : "1.0";
  	} else {
  		return false;
  	}
}

/**
 * Inserisce un file sql nel database
 * @param string $filename
 */
function insert_sql_file($filename) {
    $path = JPATH_ADMINISTRATOR.DS.'components'.DS.'com_sialpacadb'.DS;
	if (file_exists($path.$filename)) {
		$db =& JFactory::getDBO();
		$lines = file($path.$filename);
		$query="";
		foreach ($lines as $sqlstr) {
			//error_log($lines,3,"./cippa.log");
			$query .= trim($sqlstr);
			if (substr($query, -1)==";") {
				$db->setQuery($query);
				$db->query();
				$query="";
			}
		}
		return true;
	}
	return false;
}

?>
